Removing Useless Remappings { Report A{275{cri
نویسندگان
چکیده
This report describes the optimization implemented in hpfc, our prototype hpf compiler, to remove useless remappings. This optimization is performed on the remapping graph. The construction of this graph from the control ow graph is rst presented. Then the optimization is formalized as a may data-ow problem on this graph. Finally the results are discussed. 1 Remapping Graph Useless remappings may appear naturally in hpf programs. First, the change of both alignment and distribution of an array requires a realign and a redistribute, hence resulting in two remappings if no special care is taken. Second, the redistribution of a template 1 induces the remapping of all aligned arrays, even if they are not all refer-enced afterwards. Third, at an interprocedural level, two consecutive subroutine calls may require the same remapping for a given array, resulting in a useless remapping on return from the rst subroutine and on entry in the second. If two diierent mappings are required, it may also be interesting to remap data directly rather than using the intermediate original mapping. Such examples do not arise from badly written programs , but from a normal use of hpf features. They demonstrate the need for compile time optimizations to avoid useless costly remappings at runtime. Let us consider example remaps in Figure 1. The loop nest involving two remap-pings is typical of ADI computations. Template T is redistributed at 1, inducing B 1 Even when no templates are used 3] array redistributions generate the problem
منابع مشابه
Compiling Dynamic Mappings with Array Copies TR EMP CRI A To appear in PPoPP
Array remappings are useful to many applications on dis tributed memory parallel machines They are available in High Performance Fortran a Fortran based data parallel language This paper describes techniques to handle dy namic mappings through simple array copies array remap pings are translated into copies between statically mapped distinct versions of the array It discusses the language re st...
متن کاملCompiling Dynamic Mappings with Array
Array remappings are useful to many applications on distributed memory parallel machines. They are integrated into High Performance For-tran, a Fortran 90-based data-parallel language. This paper describes techniques for handling dynamic mappings through simple array copies: array remappings are translated into copies between statically mapped distinct versions of the array. It discusses the la...
متن کاملOptimal Compilation of Hpf
Applications with varying array access patterns in a parallel distributed memory machine require to dynamically change array mappings. Hpf (High Performance Fortran) provides such remappings, possibly on partially replicated data, explicitly through the realign and redistribute directives and implicitly at procedure calls and returns. However such features are left out of the hpf subset or of t...
متن کاملCri du Chat Syndrome: a Case Report with Recurrent Pneumonia and Chronic Stridor
Introduction Cri du chat syndrome is a rare genetic disorder due to deletion of variable length of short arm of chromosome 5(5p). It mainly presents with typical cat like cry, facial dysmorphism, poor growth with feeding problems and severe cognitive, speech, and motor delays. Case Report We present here a one year old child who did not presented with typical features but presented with recurre...
متن کاملContributions to High Performance Fortran Compilation
This study presents our contributions to High Performance Fortran HPF compilation HPF is a data parallel language based on Fortran Directives are used to specify parallelism and data mapping onto distributed memory parallel architectures We aim at translating a global addressing implicit communication HPF pro gram into a message passing parallel model with local addressing and explicit communic...
متن کامل